<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>MD_UISwitch Library: MD_UISwitch_Digital Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="MajicDesigns_Logo.png"/></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">MD_UISwitch Library
   &#160;<span id="projectnumber">2.2</span>
   </div>
   <div id="projectbrief">Library for different types of User Interface switches</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('class_m_d___u_i_switch___digital.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="class_m_d___u_i_switch___digital-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">MD_UISwitch_Digital Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p><code>#include &lt;MD_UISwitch.h&gt;</code></p>
<div class="dynheader">
Inheritance diagram for MD_UISwitch_Digital:</div>
<div class="dyncontent">
<div class="center"><img src="class_m_d___u_i_switch___digital__inherit__graph.png" border="0" usemap="#a_m_d___u_i_switch___digital_inherit__map" alt="Inheritance graph"/></div>
<map name="a_m_d___u_i_switch___digital_inherit__map" id="a_m_d___u_i_switch___digital_inherit__map">
<area shape="rect" title=" " alt="" coords="5,80,147,107"/>
<area shape="rect" href="class_m_d___u_i_switch.html" title=" " alt="" coords="26,5,125,32"/>
</map>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<div class="dynheader">
Collaboration diagram for MD_UISwitch_Digital:</div>
<div class="dyncontent">
<div class="center"><img src="class_m_d___u_i_switch___digital__coll__graph.png" border="0" usemap="#a_m_d___u_i_switch___digital_coll__map" alt="Collaboration graph"/></div>
<map name="a_m_d___u_i_switch___digital_coll__map" id="a_m_d___u_i_switch___digital_coll__map">
<area shape="rect" title=" " alt="" coords="5,80,147,107"/>
<area shape="rect" href="class_m_d___u_i_switch.html" title=" " alt="" coords="26,5,125,32"/>
</map>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td colspan="2"><div class="groupHeader">Class constructor and destructor.</div></td></tr>
<tr class="memitem:a65a1949309b55b88672d8806d93b7b60"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_m_d___u_i_switch___digital.html#a65a1949309b55b88672d8806d93b7b60">MD_UISwitch_Digital</a> (uint8_t pin, uint8_t onState=<a class="el" href="class_m_d___u_i_switch.html#aaf410fb990a4021bf95a4e8bf3489a08">KEY_ACTIVE_STATE</a>)</td></tr>
<tr class="separator:a65a1949309b55b88672d8806d93b7b60"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a445ea87a4bbc15694522c6050a21c709"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_m_d___u_i_switch___digital.html#a445ea87a4bbc15694522c6050a21c709">MD_UISwitch_Digital</a> (uint8_t *pins, uint8_t pinCount, uint8_t onState=<a class="el" href="class_m_d___u_i_switch.html#aaf410fb990a4021bf95a4e8bf3489a08">KEY_ACTIVE_STATE</a>)</td></tr>
<tr class="separator:a445ea87a4bbc15694522c6050a21c709"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7f2239687ade7372ae9b7289946e19bb"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_m_d___u_i_switch___digital.html#a7f2239687ade7372ae9b7289946e19bb">~MD_UISwitch_Digital</a> ()</td></tr>
<tr class="separator:a7f2239687ade7372ae9b7289946e19bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Methods for core object control.</div></td></tr>
<tr class="memitem:a88c56f9e64bc1d254d04d4f137a6edb3"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_m_d___u_i_switch___digital.html#a88c56f9e64bc1d254d04d4f137a6edb3">begin</a> (void)</td></tr>
<tr class="separator:a88c56f9e64bc1d254d04d4f137a6edb3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a354575495b5d5a72b478a2ae57d42dd9"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="class_m_d___u_i_switch.html#a117cd39685e6017f17e942b1d7cbea03">keyResult_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_m_d___u_i_switch___digital.html#a354575495b5d5a72b478a2ae57d42dd9">read</a> (void)</td></tr>
<tr class="separator:a354575495b5d5a72b478a2ae57d42dd9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_class_m_d___u_i_switch"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_class_m_d___u_i_switch')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="class_m_d___u_i_switch.html">MD_UISwitch</a></td></tr>
<tr class="memitem:a5495560f26e383b94a246ec750427df6 inherit pub_methods_class_m_d___u_i_switch"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_m_d___u_i_switch.html#a5495560f26e383b94a246ec750427df6">MD_UISwitch</a> (void)</td></tr>
<tr class="separator:a5495560f26e383b94a246ec750427df6 inherit pub_methods_class_m_d___u_i_switch"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9f64d570dff58f36b097731213f2e50e inherit pub_methods_class_m_d___u_i_switch"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_m_d___u_i_switch.html#a9f64d570dff58f36b097731213f2e50e">~MD_UISwitch</a> ()</td></tr>
<tr class="separator:a9f64d570dff58f36b097731213f2e50e inherit pub_methods_class_m_d___u_i_switch"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aac77b8bbdb44597e76a3c675c8844f7a inherit pub_methods_class_m_d___u_i_switch"><td class="memItemLeft" align="right" valign="top">virtual uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_m_d___u_i_switch.html#aac77b8bbdb44597e76a3c675c8844f7a">getKey</a> (void)</td></tr>
<tr class="separator:aac77b8bbdb44597e76a3c675c8844f7a inherit pub_methods_class_m_d___u_i_switch"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af547a652ad73aff32c8476f5423c56e6 inherit pub_methods_class_m_d___u_i_switch"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_m_d___u_i_switch.html#af547a652ad73aff32c8476f5423c56e6">setPressTime</a> (uint16_t t)</td></tr>
<tr class="separator:af547a652ad73aff32c8476f5423c56e6 inherit pub_methods_class_m_d___u_i_switch"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac29e353ed13dc39671c221201ed1d8c4 inherit pub_methods_class_m_d___u_i_switch"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_m_d___u_i_switch.html#ac29e353ed13dc39671c221201ed1d8c4">setDoublePressTime</a> (uint16_t t)</td></tr>
<tr class="separator:ac29e353ed13dc39671c221201ed1d8c4 inherit pub_methods_class_m_d___u_i_switch"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acddb4bac7da9b76b2ffb64b5fd301c2d inherit pub_methods_class_m_d___u_i_switch"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_m_d___u_i_switch.html#acddb4bac7da9b76b2ffb64b5fd301c2d">setLongPressTime</a> (uint16_t t)</td></tr>
<tr class="separator:acddb4bac7da9b76b2ffb64b5fd301c2d inherit pub_methods_class_m_d___u_i_switch"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a758aeea794e3c2ea3b0270e7d71fc04d inherit pub_methods_class_m_d___u_i_switch"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_m_d___u_i_switch.html#a758aeea794e3c2ea3b0270e7d71fc04d">setRepeatTime</a> (uint16_t t)</td></tr>
<tr class="separator:a758aeea794e3c2ea3b0270e7d71fc04d inherit pub_methods_class_m_d___u_i_switch"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0581e504add30a9763426c96bc4ffb35 inherit pub_methods_class_m_d___u_i_switch"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_m_d___u_i_switch.html#a0581e504add30a9763426c96bc4ffb35">enableDoublePress</a> (boolean f)</td></tr>
<tr class="separator:a0581e504add30a9763426c96bc4ffb35 inherit pub_methods_class_m_d___u_i_switch"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaf8424f5f69243637ec296530ac57ef1 inherit pub_methods_class_m_d___u_i_switch"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_m_d___u_i_switch.html#aaf8424f5f69243637ec296530ac57ef1">enableLongPress</a> (boolean f)</td></tr>
<tr class="separator:aaf8424f5f69243637ec296530ac57ef1 inherit pub_methods_class_m_d___u_i_switch"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a62b4c58fe1db440e44e66d54389f588d inherit pub_methods_class_m_d___u_i_switch"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_m_d___u_i_switch.html#a62b4c58fe1db440e44e66d54389f588d">enableRepeat</a> (boolean f)</td></tr>
<tr class="separator:a62b4c58fe1db440e44e66d54389f588d inherit pub_methods_class_m_d___u_i_switch"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac5190407be944cb37ed0b2e9f06ee925 inherit pub_methods_class_m_d___u_i_switch"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_m_d___u_i_switch.html#ac5190407be944cb37ed0b2e9f06ee925">enableRepeatResult</a> (boolean f)</td></tr>
<tr class="separator:ac5190407be944cb37ed0b2e9f06ee925 inherit pub_methods_class_m_d___u_i_switch"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:a1e16feab3856907164eb681e492d7c87"><td class="memItemLeft" align="right" valign="top"><a id="a1e16feab3856907164eb681e492d7c87"></a>
uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_m_d___u_i_switch___digital.html#a1e16feab3856907164eb681e492d7c87">_pinSimple</a></td></tr>
<tr class="memdesc:a1e16feab3856907164eb681e492d7c87"><td class="mdescLeft">&#160;</td><td class="mdescRight">pin number for simple pins <br /></td></tr>
<tr class="separator:a1e16feab3856907164eb681e492d7c87"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7ac21014a5660ce69ff7012ed322a6f0"><td class="memItemLeft" align="right" valign="top"><a id="a7ac21014a5660ce69ff7012ed322a6f0"></a>
uint8_t *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_m_d___u_i_switch___digital.html#a7ac21014a5660ce69ff7012ed322a6f0">_pins</a></td></tr>
<tr class="memdesc:a7ac21014a5660ce69ff7012ed322a6f0"><td class="mdescLeft">&#160;</td><td class="mdescRight">pointer to data for one or more pins <br /></td></tr>
<tr class="separator:a7ac21014a5660ce69ff7012ed322a6f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac09e151823e20ca64eb78dd78cd98111"><td class="memItemLeft" align="right" valign="top"><a id="ac09e151823e20ca64eb78dd78cd98111"></a>
uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_m_d___u_i_switch___digital.html#ac09e151823e20ca64eb78dd78cd98111">_pinCount</a></td></tr>
<tr class="memdesc:ac09e151823e20ca64eb78dd78cd98111"><td class="mdescLeft">&#160;</td><td class="mdescRight">number of pins defined <br /></td></tr>
<tr class="separator:ac09e151823e20ca64eb78dd78cd98111"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad2762c57222214677d95251a830de16e"><td class="memItemLeft" align="right" valign="top"><a id="ad2762c57222214677d95251a830de16e"></a>
uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_m_d___u_i_switch___digital.html#ad2762c57222214677d95251a830de16e">_onState</a></td></tr>
<tr class="memdesc:ad2762c57222214677d95251a830de16e"><td class="mdescLeft">&#160;</td><td class="mdescRight">digital state for ON <br /></td></tr>
<tr class="separator:ad2762c57222214677d95251a830de16e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_attribs_class_m_d___u_i_switch"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_class_m_d___u_i_switch')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="class_m_d___u_i_switch.html">MD_UISwitch</a></td></tr>
<tr class="memitem:a89f9192441c42f492a5e7f8bc2affd70 inherit pro_attribs_class_m_d___u_i_switch"><td class="memItemLeft" align="right" valign="top"><a id="a89f9192441c42f492a5e7f8bc2affd70"></a>
<a class="el" href="class_m_d___u_i_switch.html#a22cd165582deee089c527ed107f4e1fd">state_fsm</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_m_d___u_i_switch.html#a89f9192441c42f492a5e7f8bc2affd70">_state</a></td></tr>
<tr class="memdesc:a89f9192441c42f492a5e7f8bc2affd70 inherit pro_attribs_class_m_d___u_i_switch"><td class="mdescLeft">&#160;</td><td class="mdescRight">the FSM current state <br /></td></tr>
<tr class="separator:a89f9192441c42f492a5e7f8bc2affd70 inherit pro_attribs_class_m_d___u_i_switch"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a364f7f0f4d6c69eec354e14ee72a4d87 inherit pro_attribs_class_m_d___u_i_switch"><td class="memItemLeft" align="right" valign="top"><a id="a364f7f0f4d6c69eec354e14ee72a4d87"></a>
<a class="el" href="class_m_d___u_i_switch.html#a117cd39685e6017f17e942b1d7cbea03">keyResult_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_m_d___u_i_switch.html#a364f7f0f4d6c69eec354e14ee72a4d87">_kPush</a></td></tr>
<tr class="memdesc:a364f7f0f4d6c69eec354e14ee72a4d87 inherit pro_attribs_class_m_d___u_i_switch"><td class="mdescLeft">&#160;</td><td class="mdescRight">storage for pushed key in FSM <br /></td></tr>
<tr class="separator:a364f7f0f4d6c69eec354e14ee72a4d87 inherit pro_attribs_class_m_d___u_i_switch"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af8088c6ba1b4c581e0f04951a1017663 inherit pro_attribs_class_m_d___u_i_switch"><td class="memItemLeft" align="right" valign="top"><a id="af8088c6ba1b4c581e0f04951a1017663"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_m_d___u_i_switch.html#af8088c6ba1b4c581e0f04951a1017663">_timeActive</a></td></tr>
<tr class="memdesc:af8088c6ba1b4c581e0f04951a1017663 inherit pro_attribs_class_m_d___u_i_switch"><td class="mdescLeft">&#160;</td><td class="mdescRight">the millis() time switch was last activated <br /></td></tr>
<tr class="separator:af8088c6ba1b4c581e0f04951a1017663 inherit pro_attribs_class_m_d___u_i_switch"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa92f25ce35fc3a2f6d458ca5d9b95b56 inherit pro_attribs_class_m_d___u_i_switch"><td class="memItemLeft" align="right" valign="top"><a id="aa92f25ce35fc3a2f6d458ca5d9b95b56"></a>
uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_m_d___u_i_switch.html#aa92f25ce35fc3a2f6d458ca5d9b95b56">_enableFlags</a></td></tr>
<tr class="memdesc:aa92f25ce35fc3a2f6d458ca5d9b95b56 inherit pro_attribs_class_m_d___u_i_switch"><td class="mdescLeft">&#160;</td><td class="mdescRight">functions enabled/disabled <br /></td></tr>
<tr class="separator:aa92f25ce35fc3a2f6d458ca5d9b95b56 inherit pro_attribs_class_m_d___u_i_switch"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af12270236bff624e753fb36761e474f7 inherit pro_attribs_class_m_d___u_i_switch"><td class="memItemLeft" align="right" valign="top"><a id="af12270236bff624e753fb36761e474f7"></a>
uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_m_d___u_i_switch.html#af12270236bff624e753fb36761e474f7">_RC</a> = 0</td></tr>
<tr class="memdesc:af12270236bff624e753fb36761e474f7 inherit pro_attribs_class_m_d___u_i_switch"><td class="mdescLeft">&#160;</td><td class="mdescRight">RC integrator value. <br /></td></tr>
<tr class="separator:af12270236bff624e753fb36761e474f7 inherit pro_attribs_class_m_d___u_i_switch"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3fab36509ef0f309e76e0c30c8438c40 inherit pro_attribs_class_m_d___u_i_switch"><td class="memItemLeft" align="right" valign="top"><a id="a3fab36509ef0f309e76e0c30c8438c40"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_m_d___u_i_switch.html#a3fab36509ef0f309e76e0c30c8438c40">_prevStatus</a></td></tr>
<tr class="memdesc:a3fab36509ef0f309e76e0c30c8438c40 inherit pro_attribs_class_m_d___u_i_switch"><td class="mdescLeft">&#160;</td><td class="mdescRight">previous 'active' status for edge detection <br /></td></tr>
<tr class="separator:a3fab36509ef0f309e76e0c30c8438c40 inherit pro_attribs_class_m_d___u_i_switch"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0635b4d13bc3c4d382dafe305143b786 inherit pro_attribs_class_m_d___u_i_switch"><td class="memItemLeft" align="right" valign="top"><a id="a0635b4d13bc3c4d382dafe305143b786"></a>
<a class="el" href="class_m_d___u_i_switch.html#a73c13bc25567360ee3db8a9c2ade225d">state_db</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_m_d___u_i_switch.html#a0635b4d13bc3c4d382dafe305143b786">_RCstate</a></td></tr>
<tr class="memdesc:a0635b4d13bc3c4d382dafe305143b786 inherit pro_attribs_class_m_d___u_i_switch"><td class="mdescLeft">&#160;</td><td class="mdescRight">current RC debouning state <br /></td></tr>
<tr class="separator:a0635b4d13bc3c4d382dafe305143b786 inherit pro_attribs_class_m_d___u_i_switch"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a53465ead17577f79bf946ea1be47f654 inherit pro_attribs_class_m_d___u_i_switch"><td class="memItemLeft" align="right" valign="top"><a id="a53465ead17577f79bf946ea1be47f654"></a>
uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_m_d___u_i_switch.html#a53465ead17577f79bf946ea1be47f654">_timePress</a></td></tr>
<tr class="memdesc:a53465ead17577f79bf946ea1be47f654 inherit pro_attribs_class_m_d___u_i_switch"><td class="mdescLeft">&#160;</td><td class="mdescRight">press time in milliseconds <br /></td></tr>
<tr class="separator:a53465ead17577f79bf946ea1be47f654 inherit pro_attribs_class_m_d___u_i_switch"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4dc9cf90297ab2a8af69c5a032aa872c inherit pro_attribs_class_m_d___u_i_switch"><td class="memItemLeft" align="right" valign="top"><a id="a4dc9cf90297ab2a8af69c5a032aa872c"></a>
uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_m_d___u_i_switch.html#a4dc9cf90297ab2a8af69c5a032aa872c">_timeDoublePress</a></td></tr>
<tr class="memdesc:a4dc9cf90297ab2a8af69c5a032aa872c inherit pro_attribs_class_m_d___u_i_switch"><td class="mdescLeft">&#160;</td><td class="mdescRight">double press detection time in milliseconds <br /></td></tr>
<tr class="separator:a4dc9cf90297ab2a8af69c5a032aa872c inherit pro_attribs_class_m_d___u_i_switch"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1458feab310d6192e2b397d0015cfd8f inherit pro_attribs_class_m_d___u_i_switch"><td class="memItemLeft" align="right" valign="top"><a id="a1458feab310d6192e2b397d0015cfd8f"></a>
uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_m_d___u_i_switch.html#a1458feab310d6192e2b397d0015cfd8f">_timeLongPress</a></td></tr>
<tr class="memdesc:a1458feab310d6192e2b397d0015cfd8f inherit pro_attribs_class_m_d___u_i_switch"><td class="mdescLeft">&#160;</td><td class="mdescRight">long press time in milliseconds <br /></td></tr>
<tr class="separator:a1458feab310d6192e2b397d0015cfd8f inherit pro_attribs_class_m_d___u_i_switch"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4513d97e2bee782f75d72252250e1d6b inherit pro_attribs_class_m_d___u_i_switch"><td class="memItemLeft" align="right" valign="top"><a id="a4513d97e2bee782f75d72252250e1d6b"></a>
uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_m_d___u_i_switch.html#a4513d97e2bee782f75d72252250e1d6b">_timeRepeat</a></td></tr>
<tr class="memdesc:a4513d97e2bee782f75d72252250e1d6b inherit pro_attribs_class_m_d___u_i_switch"><td class="mdescLeft">&#160;</td><td class="mdescRight">repeat time delay in milliseconds <br /></td></tr>
<tr class="separator:a4513d97e2bee782f75d72252250e1d6b inherit pro_attribs_class_m_d___u_i_switch"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afbf4adfda419da86355e31e645ce71a1 inherit pro_attribs_class_m_d___u_i_switch"><td class="memItemLeft" align="right" valign="top"><a id="afbf4adfda419da86355e31e645ce71a1"></a>
uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_m_d___u_i_switch.html#afbf4adfda419da86355e31e645ce71a1">_lastKey</a></td></tr>
<tr class="memdesc:afbf4adfda419da86355e31e645ce71a1 inherit pro_attribs_class_m_d___u_i_switch"><td class="mdescLeft">&#160;</td><td class="mdescRight">persists the last key value until a new one is detected <br /></td></tr>
<tr class="separator:afbf4adfda419da86355e31e645ce71a1 inherit pro_attribs_class_m_d___u_i_switch"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a037dc1bd6b01dbfa4a2101a27913f781 inherit pro_attribs_class_m_d___u_i_switch"><td class="memItemLeft" align="right" valign="top"><a id="a037dc1bd6b01dbfa4a2101a27913f781"></a>
int16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_m_d___u_i_switch.html#a037dc1bd6b01dbfa4a2101a27913f781">_lastKeyIdx</a></td></tr>
<tr class="memdesc:a037dc1bd6b01dbfa4a2101a27913f781 inherit pro_attribs_class_m_d___u_i_switch"><td class="mdescLeft">&#160;</td><td class="mdescRight">internal index of the last key read <br /></td></tr>
<tr class="separator:a037dc1bd6b01dbfa4a2101a27913f781 inherit pro_attribs_class_m_d___u_i_switch"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
Additional Inherited Members</h2></td></tr>
<tr class="inherit_header pub_types_class_m_d___u_i_switch"><td colspan="2" onclick="javascript:toggleInherit('pub_types_class_m_d___u_i_switch')"><img src="closed.png" alt="-"/>&#160;Public Types inherited from <a class="el" href="class_m_d___u_i_switch.html">MD_UISwitch</a></td></tr>
<tr class="memitem:a117cd39685e6017f17e942b1d7cbea03 inherit pub_types_class_m_d___u_i_switch"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_m_d___u_i_switch.html#a117cd39685e6017f17e942b1d7cbea03">keyResult_t</a> { <br />
&#160;&#160;<a class="el" href="class_m_d___u_i_switch.html#a117cd39685e6017f17e942b1d7cbea03ab732e9179752afecef5eb841d7a7ebdf">KEY_NULL</a>
, <a class="el" href="class_m_d___u_i_switch.html#a117cd39685e6017f17e942b1d7cbea03a86493b4c254a3b1c571b3d8e92050781">KEY_DOWN</a>
, <a class="el" href="class_m_d___u_i_switch.html#a117cd39685e6017f17e942b1d7cbea03a20b5597ee77c9cb6419189f70a62eca2">KEY_UP</a>
, <a class="el" href="class_m_d___u_i_switch.html#a117cd39685e6017f17e942b1d7cbea03a15e40279fddacdbb32dd91654747945d">KEY_PRESS</a>
, <br />
&#160;&#160;<a class="el" href="class_m_d___u_i_switch.html#a117cd39685e6017f17e942b1d7cbea03ac2243c722c18d06421d166e8fa3a133d">KEY_DPRESS</a>
, <a class="el" href="class_m_d___u_i_switch.html#a117cd39685e6017f17e942b1d7cbea03aa96ef0b5c7f6169701f6ae6d5fa7bc20">KEY_LONGPRESS</a>
, <a class="el" href="class_m_d___u_i_switch.html#a117cd39685e6017f17e942b1d7cbea03af3457ee4d710d0cc77d760cfc23670b8">KEY_RPTPRESS</a>
<br />
 }</td></tr>
<tr class="separator:a117cd39685e6017f17e942b1d7cbea03 inherit pub_types_class_m_d___u_i_switch"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_types_class_m_d___u_i_switch"><td colspan="2" onclick="javascript:toggleInherit('pro_types_class_m_d___u_i_switch')"><img src="closed.png" alt="-"/>&#160;Protected Types inherited from <a class="el" href="class_m_d___u_i_switch.html">MD_UISwitch</a></td></tr>
<tr class="memitem:a22cd165582deee089c527ed107f4e1fd inherit pro_types_class_m_d___u_i_switch"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_m_d___u_i_switch.html#a22cd165582deee089c527ed107f4e1fd">state_fsm</a> { <br />
&#160;&#160;<a class="el" href="class_m_d___u_i_switch.html#a22cd165582deee089c527ed107f4e1fda81457b7aa0e5d24254e54a87887d5f5d">S_IDLE</a>
, <a class="el" href="class_m_d___u_i_switch.html#a22cd165582deee089c527ed107f4e1fdab30cefbee0e52f140753e5baf513d7b0">S_PRESS</a>
, <a class="el" href="class_m_d___u_i_switch.html#a22cd165582deee089c527ed107f4e1fda62920fed53bdf0a4d5641706ef2fc753">S_PRESS2A</a>
, <a class="el" href="class_m_d___u_i_switch.html#a22cd165582deee089c527ed107f4e1fda3d45f26a731b4d3c7130bab296ba90bc">S_PRESS2B</a>
, <br />
&#160;&#160;<a class="el" href="class_m_d___u_i_switch.html#a22cd165582deee089c527ed107f4e1fdab8c115515022025c5c2fbca53f76220c">S_PRESSL</a>
, <a class="el" href="class_m_d___u_i_switch.html#a22cd165582deee089c527ed107f4e1fdae46a21d7cc139db9851249d7c8f4f0a4">S_REPEAT</a>
, <a class="el" href="class_m_d___u_i_switch.html#a22cd165582deee089c527ed107f4e1fda661dfbdc773bfd9f948e47ee17220efa">S_WAIT</a>
<br />
 }</td></tr>
<tr class="separator:a22cd165582deee089c527ed107f4e1fd inherit pro_types_class_m_d___u_i_switch"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a73c13bc25567360ee3db8a9c2ade225d inherit pro_types_class_m_d___u_i_switch"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_m_d___u_i_switch.html#a73c13bc25567360ee3db8a9c2ade225d">state_db</a> { <a class="el" href="class_m_d___u_i_switch.html#a73c13bc25567360ee3db8a9c2ade225da7122d062eafd7efd23393a237ecb5d61">S_WAIT_START</a>
, <a class="el" href="class_m_d___u_i_switch.html#a73c13bc25567360ee3db8a9c2ade225dae6b53613943f0cdd24c1fa6e7f31d08d">S_DEBOUNCE</a>
, <a class="el" href="class_m_d___u_i_switch.html#a73c13bc25567360ee3db8a9c2ade225da674b75dec99aa72f5fc181097746906b">S_WAIT_RELEASE</a>
 }</td></tr>
<tr class="separator:a73c13bc25567360ee3db8a9c2ade225d inherit pro_types_class_m_d___u_i_switch"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_methods_class_m_d___u_i_switch"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_class_m_d___u_i_switch')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="class_m_d___u_i_switch.html">MD_UISwitch</a></td></tr>
<tr class="memitem:a8b13710d6969ed1020bcd32802d9ba06 inherit pro_methods_class_m_d___u_i_switch"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_m_d___u_i_switch.html#a117cd39685e6017f17e942b1d7cbea03">keyResult_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_m_d___u_i_switch.html#a8b13710d6969ed1020bcd32802d9ba06">processFSM</a> (bool swState, bool reset=false)</td></tr>
<tr class="separator:a8b13710d6969ed1020bcd32802d9ba06 inherit pro_methods_class_m_d___u_i_switch"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5a3bd9ad717ae33f34e9fa2eefbd1a41 inherit pro_methods_class_m_d___u_i_switch"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_m_d___u_i_switch.html#a5a3bd9ad717ae33f34e9fa2eefbd1a41">debounce</a> (bool curStatus, bool reset=false)</td></tr>
<tr class="separator:a5a3bd9ad717ae33f34e9fa2eefbd1a41 inherit pro_methods_class_m_d___u_i_switch"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_static_attribs_class_m_d___u_i_switch"><td colspan="2" onclick="javascript:toggleInherit('pro_static_attribs_class_m_d___u_i_switch')"><img src="closed.png" alt="-"/>&#160;Static Protected Attributes inherited from <a class="el" href="class_m_d___u_i_switch.html">MD_UISwitch</a></td></tr>
<tr class="memitem:a1d9d057da84837fa1c431e5d215b6d63 inherit pro_static_attribs_class_m_d___u_i_switch"><td class="memItemLeft" align="right" valign="top"><a id="a1d9d057da84837fa1c431e5d215b6d63"></a>
static const uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_m_d___u_i_switch.html#a1d9d057da84837fa1c431e5d215b6d63">KEY_PRESS_TIME</a> = 150</td></tr>
<tr class="memdesc:a1d9d057da84837fa1c431e5d215b6d63 inherit pro_static_attribs_class_m_d___u_i_switch"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default key press time in milliseconds. <br /></td></tr>
<tr class="separator:a1d9d057da84837fa1c431e5d215b6d63 inherit pro_static_attribs_class_m_d___u_i_switch"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a76629bcc4237cfc1566bd5bd65792dbc inherit pro_static_attribs_class_m_d___u_i_switch"><td class="memItemLeft" align="right" valign="top"><a id="a76629bcc4237cfc1566bd5bd65792dbc"></a>
static const uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_m_d___u_i_switch.html#a76629bcc4237cfc1566bd5bd65792dbc">KEY_DPRESS_TIME</a> = 250</td></tr>
<tr class="memdesc:a76629bcc4237cfc1566bd5bd65792dbc inherit pro_static_attribs_class_m_d___u_i_switch"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default double press time between presses in milliseconds. <br /></td></tr>
<tr class="separator:a76629bcc4237cfc1566bd5bd65792dbc inherit pro_static_attribs_class_m_d___u_i_switch"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af45f17963823b2149c0b0d3c9ddd7d8a inherit pro_static_attribs_class_m_d___u_i_switch"><td class="memItemLeft" align="right" valign="top"><a id="af45f17963823b2149c0b0d3c9ddd7d8a"></a>
static const uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_m_d___u_i_switch.html#af45f17963823b2149c0b0d3c9ddd7d8a">KEY_LONGPRESS_TIME</a> = 600</td></tr>
<tr class="memdesc:af45f17963823b2149c0b0d3c9ddd7d8a inherit pro_static_attribs_class_m_d___u_i_switch"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default long press detection time in milliseconds. <br /></td></tr>
<tr class="separator:af45f17963823b2149c0b0d3c9ddd7d8a inherit pro_static_attribs_class_m_d___u_i_switch"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a108bf73743831de600ff69f9da508985 inherit pro_static_attribs_class_m_d___u_i_switch"><td class="memItemLeft" align="right" valign="top"><a id="a108bf73743831de600ff69f9da508985"></a>
static const uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_m_d___u_i_switch.html#a108bf73743831de600ff69f9da508985">KEY_REPEAT_TIME</a> = 300</td></tr>
<tr class="memdesc:a108bf73743831de600ff69f9da508985 inherit pro_static_attribs_class_m_d___u_i_switch"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default time between repeats in in milliseconds. <br /></td></tr>
<tr class="separator:a108bf73743831de600ff69f9da508985 inherit pro_static_attribs_class_m_d___u_i_switch"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaf410fb990a4021bf95a4e8bf3489a08 inherit pro_static_attribs_class_m_d___u_i_switch"><td class="memItemLeft" align="right" valign="top"><a id="aaf410fb990a4021bf95a4e8bf3489a08"></a>
static const uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_m_d___u_i_switch.html#aaf410fb990a4021bf95a4e8bf3489a08">KEY_ACTIVE_STATE</a> = LOW</td></tr>
<tr class="memdesc:aaf410fb990a4021bf95a4e8bf3489a08 inherit pro_static_attribs_class_m_d___u_i_switch"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default key is active low - transition high to low detection. <br /></td></tr>
<tr class="separator:aaf410fb990a4021bf95a4e8bf3489a08 inherit pro_static_attribs_class_m_d___u_i_switch"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8bb598e2f7533b6395ef4b01fc5e83a2 inherit pro_static_attribs_class_m_d___u_i_switch"><td class="memItemLeft" align="right" valign="top"><a id="a8bb598e2f7533b6395ef4b01fc5e83a2"></a>
static const uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_m_d___u_i_switch.html#a8bb598e2f7533b6395ef4b01fc5e83a2">REPEAT_RESULT_ENABLE</a> = 3</td></tr>
<tr class="memdesc:a8bb598e2f7533b6395ef4b01fc5e83a2 inherit pro_static_attribs_class_m_d___u_i_switch"><td class="mdescLeft">&#160;</td><td class="mdescRight">Internal status bit to return KS_REPEAT instead of KS_PRESS. <br /></td></tr>
<tr class="separator:a8bb598e2f7533b6395ef4b01fc5e83a2 inherit pro_static_attribs_class_m_d___u_i_switch"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a002290f239982d77adeb397f9466a457 inherit pro_static_attribs_class_m_d___u_i_switch"><td class="memItemLeft" align="right" valign="top"><a id="a002290f239982d77adeb397f9466a457"></a>
static const uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_m_d___u_i_switch.html#a002290f239982d77adeb397f9466a457">DPRESS_ENABLE</a> = 2</td></tr>
<tr class="memdesc:a002290f239982d77adeb397f9466a457 inherit pro_static_attribs_class_m_d___u_i_switch"><td class="mdescLeft">&#160;</td><td class="mdescRight">Internal status bit to enable double press. <br /></td></tr>
<tr class="separator:a002290f239982d77adeb397f9466a457 inherit pro_static_attribs_class_m_d___u_i_switch"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad053848d2409832412d46042accb76e8 inherit pro_static_attribs_class_m_d___u_i_switch"><td class="memItemLeft" align="right" valign="top"><a id="ad053848d2409832412d46042accb76e8"></a>
static const uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_m_d___u_i_switch.html#ad053848d2409832412d46042accb76e8">LONGPRESS_ENABLE</a> = 1</td></tr>
<tr class="memdesc:ad053848d2409832412d46042accb76e8 inherit pro_static_attribs_class_m_d___u_i_switch"><td class="mdescLeft">&#160;</td><td class="mdescRight">Internal status bit to enable long press. <br /></td></tr>
<tr class="separator:ad053848d2409832412d46042accb76e8 inherit pro_static_attribs_class_m_d___u_i_switch"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeff0768820be6fd3d5b699735f7defff inherit pro_static_attribs_class_m_d___u_i_switch"><td class="memItemLeft" align="right" valign="top"><a id="aeff0768820be6fd3d5b699735f7defff"></a>
static const uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_m_d___u_i_switch.html#aeff0768820be6fd3d5b699735f7defff">REPEAT_ENABLE</a> = 0</td></tr>
<tr class="memdesc:aeff0768820be6fd3d5b699735f7defff inherit pro_static_attribs_class_m_d___u_i_switch"><td class="mdescLeft">&#160;</td><td class="mdescRight">Internal status bit to enable repeat key. <br /></td></tr>
<tr class="separator:aeff0768820be6fd3d5b699735f7defff inherit pro_static_attribs_class_m_d___u_i_switch"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Extension class <a class="el" href="class_m_d___u_i_switch___digital.html">MD_UISwitch_Digital</a>.</p>
<p>Implements interface for momentary ON switches, such as tact switches or micro-switches.</p>
<p><img src="Digital_Switches.jpg" alt="" class="inline" title="Momentary On Digital Style Switches"/></p>
<p>Switches can be wired as pull-up or pull-down. Pull-up switches are initialized with the internal pull-up enabled. Pull-down switches require an external pull-down resistor circuit. How the switch type is initialized depends on the parameters passed to the class constructor. </p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a65a1949309b55b88672d8806d93b7b60"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a65a1949309b55b88672d8806d93b7b60">&#9670;&nbsp;</a></span>MD_UISwitch_Digital() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">MD_UISwitch_Digital::MD_UISwitch_Digital </td>
          <td>(</td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>pin</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>onState</em> = <code><a class="el" href="class_m_d___u_i_switch.html#aaf410fb990a4021bf95a4e8bf3489a08">KEY_ACTIVE_STATE</a></code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Class Constructor - simple pin.</p>
<p>Instantiate a new instance of the class. The parameters passed are used to define the hardware interface to the switch.</p>
<p>This form of the constructor is for a simple digital pin (ie, one digital pin).</p>
<p>The option parameter onState tells the library which level (LOW or HIGH) should be considered the switch 'on' state. If the default LOW state is selected then the library will initialise the pin with INPUT_PULLUP and no external pullup resistors are necessary. If specified HIGH, external pull down resistors will be required.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">pin</td><td>the digital pin to which the switch is connected. </td></tr>
    <tr><td class="paramname">onState</td><td>the state for the switch to be active </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a445ea87a4bbc15694522c6050a21c709"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a445ea87a4bbc15694522c6050a21c709">&#9670;&nbsp;</a></span>MD_UISwitch_Digital() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">MD_UISwitch_Digital::MD_UISwitch_Digital </td>
          <td>(</td>
          <td class="paramtype">uint8_t *&#160;</td>
          <td class="paramname"><em>pins</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>pinCount</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>onState</em> = <code><a class="el" href="class_m_d___u_i_switch.html#aaf410fb990a4021bf95a4e8bf3489a08">KEY_ACTIVE_STATE</a></code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Class Constructor - array of pins.</p>
<p>Instantiate a new instance of the class. The parameters passed are used to define the hardware interface to the switch.</p>
<p>This form of the constructor is for an array of digital pins. The data is not copied from the user code, so the array elements need to remain in scope and constant for the life of the object.</p>
<p>The option parameter onState tells the library which level (LOW or HIGH) should be considered the switch 'on' state. If the default LOW state is selected then the library will initialize each pin with INPUT_PULLUP and no external pullup resistors are necessary. If specified HIGH, external pull down resistors will be required.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">pins</td><td>pointer to array of pin numbers to which the switches are connected. </td></tr>
    <tr><td class="paramname">pinCount</td><td>the number of pin in the pins[] array </td></tr>
    <tr><td class="paramname">onState</td><td>the state for the switch to be active </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a7f2239687ade7372ae9b7289946e19bb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7f2239687ade7372ae9b7289946e19bb">&#9670;&nbsp;</a></span>~MD_UISwitch_Digital()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">MD_UISwitch_Digital::~MD_UISwitch_Digital </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Class Destructor.</p>
<p>Release allocated memory and does the necessary to clean up once the queue is no longer required. </p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a88c56f9e64bc1d254d04d4f137a6edb3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a88c56f9e64bc1d254d04d4f137a6edb3">&#9670;&nbsp;</a></span>begin()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void MD_UISwitch_Digital::begin </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Initialize the object.</p>
<p>Initialise the object data. This needs to be called during setup() to initialize new data for the class that cannot be done during the object creation. </p>

<p>Implements <a class="el" href="class_m_d___u_i_switch.html#addedb4f16e9fd4e6320f64f724fe5fb9">MD_UISwitch</a>.</p>

</div>
</div>
<a id="a354575495b5d5a72b478a2ae57d42dd9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a354575495b5d5a72b478a2ae57d42dd9">&#9670;&nbsp;</a></span>read()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_m_d___u_i_switch.html#a117cd39685e6017f17e942b1d7cbea03">MD_UISwitch::keyResult_t</a> MD_UISwitch_Digital::read </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Return the state of the switch</p>
<p>Return one of the keypress types depending on what has been detected. The timing for each keypress starts when the first transition of the switch from inactive to active state and is recognized by a finite state machine whose operation is directed by the timer and option values specified.</p>
<dl class="section return"><dt>Returns</dt><dd>one of the keyResult_t enumerated values </dd></dl>

<p>Implements <a class="el" href="class_m_d___u_i_switch.html#ace5022164f2c8afb1767ec61798b1bb7">MD_UISwitch</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>src/<a class="el" href="_m_d___u_i_switch_8h.html">MD_UISwitch.h</a></li>
<li>src/<a class="el" href="_m_d___u_i_switch_8cpp.html">MD_UISwitch.cpp</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="class_m_d___u_i_switch___digital.html">MD_UISwitch_Digital</a></li>
    <li class="footer">Generated on Thu Aug 12 2021 08:19:10 for MD_UISwitch Library by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
  </ul>
</div>
</body>
</html>
